package com.hyts.jgit.base.spi;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.gitclient.base.spi
 * author:Libo/Alex
 * create-date:2019-06-14 21:12
 * copyright:libo-hyts-github
 * email:libo2dev@aliyun.com
 * description:此类主要用于: index索引库操作数据服务处理器
 */
public interface IndexStageHandler<P,R> {


    /**
     * 初始化操作本地仓库
     * @param param
     * @return
     */
    R init(P param);

    /**
     * 新增文件到本地索index引库
     * @param param
     * @return
     */
    R add(P param);

    /**
     * 还原撤销文件到原始状态从index库
     * @param param
     * @return
     */
    R revert(P param);

    /**
     * 从index索引库提交到本地仓库
     * @param param
     * @return
     */
    R commit(P param);
}
